package com.hmdp.service;

import com.hmdp.entity.VoucherOrder;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hmdp.entity.result.Result;

/**
 * 优惠券订单Service
 */
public interface IVoucherOrderService extends IService<VoucherOrder> {
    /**
     * 秒杀下单优惠券
     * @param voucherId 优惠券id
     * @return 下单id
     */
    Result seckillVoucher(Long voucherId);

    /**
     * 判断是否是一人一单，如果是再去创建秒杀券订单
     * @param userId 用户id
     * @param voucherId 订单id
     * @return 订单id
     */
    Result createSecKillVoucherOrder(Long userId, Long voucherId);

    /**
     * 将创建的秒杀券订单异步写入数据库
     * @param voucherOrder 订单信息
     */
    void createSecKillVoucherOrder(VoucherOrder voucherOrder);
}
